package com.zbkj.crmeb.chant.response;

import com.common.CommonPage;
import com.zbkj.crmeb.store.vo.StoreOrderInfoVo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

@Data
@Accessors(chain = true)
public class AccountCenterResponse implements Serializable {

    @ApiModelProperty(value = "可用余额")
    private BigDecimal account;

    @ApiModelProperty(value = "可提现金额")
    private BigDecimal withdrawAccount;

    @ApiModelProperty(value = "冻结金额")
    private BigDecimal freezeAccount;

    @ApiModelProperty(value = "累计交易金额")
    private BigDecimal totalMoney;

    @ApiModelProperty(value = "已结算金额")
    private BigDecimal closeMoney;

    @ApiModelProperty(value = "商户支付模式 0平台  1商户")
    private Integer payMode;

    @ApiModelProperty(value = "账单列表")
    private CommonPage<Bill> orderList;

    @Data
    @Accessors(chain = true)
    public static class Bill implements Serializable {

        @ApiModelProperty(value = "账单id")
        private Integer billId;

        @ApiModelProperty(value = "创建时间 ")
        private Date createTime;

        @ApiModelProperty(value = "类型 ")
        private String type;

        @ApiModelProperty(value = "订单编号")
        private String orderId;

        @ApiModelProperty(value = "金额")
        private BigDecimal money;

        @ApiModelProperty(value = "剩余金额")
        private BigDecimal residueMoney;

        @ApiModelProperty(value = "商品信息")
        private List<StoreOrderInfoVo> productList = new ArrayList<>();

        @ApiModelProperty(value = "订单详情")
        private String orderDetail;

        @ApiModelProperty(value = "详情类型(1: 订单详情 2: 充值提现详情)")
        private Integer tradeType;


    }

}